package ru.cybertek.financial.document;

import java.math.BigDecimal;
import java.util.Date;

import ru.cybertek.domain.StoredEntity;
import ru.cybertek.domain.Payer;

/**
 * @author Dmitry Demyankov
 * @version $Revision: 64 $
 * 
 *         (C) Copyright 2009 CyberTek Ltd. All rights reserved.
 */
public class PaymentOrder extends StoredEntity
{
    private String number;

    //private PaymentOrderPayerDao payer;

    private Payer payer;
    
    private Payer payee;
    //private PaymentOrderPayerDao payee;
    

    private BigDecimal amount;

    private String amountInWords;

    private Date date;

    private String paymentPurpose;

    /**
     * Default constructor.
     */
    public PaymentOrder() {}
    
    /**
     * Constructor setting id
     * 
     * @param id - payment order record id
     */
    public PaymentOrder(Integer id)
    {
    	super.setId(id);
    }

    /**
     * Getter for property number.
     * 
     * @return the number
     */
    public String getNumber()
    {
        return number;
    }

    /**
     * Setter for property number.
     * 
     * @param number
     *            the number to set
     */
    public void setNumber(String number)
    {
        this.number = number;
    }

    /**
     * Getter for property payer.
     * 
     * @return the payer
     */
    public Payer getPayer()
    {
        return payer;
    }

    /**
     * Setter for property payer.
     * 
     * @param payer
     *            the payer to set
     */
    public void setPayer(Payer payer)
    {
        this.payer = payer;
    }

    /**
     * Getter for property payee.
     * 
     * @return the payee
     */
    public Payer getPayee()
    {
        return payee;
    }

    /**
     * Setter for property payee.
     * 
     * @param payee
     *            the payee to set
     */
    public void setPayee(Payer payee)
    {
        this.payee = payee;
    }

    /**
     * Getter for property amount.
     * 
     * @return the amount
     */
    public BigDecimal getAmount()
    {
        return amount;
    }

    /**
     * Setter for property amount.
     * 
     * @param amount
     *            the amount to set
     */
    public void setAmount(BigDecimal amount)
    {
        this.amount = amount;
    }

    /**
     * Getter for property amountInWords.
     * 
     * @return the amountInWords
     */
    public String getAmountInWords()
    {
        return amountInWords;
    }

    /**
     * Setter for property amountInWords.
     * 
     * @param amountInWords
     *            the amountInWords to set
     */
    public void setAmountInWords(String amountInWords)
    {
        this.amountInWords = amountInWords;
    }

    /**
     * Getter for property date.
     * 
     * @return the date
     */
    public Date getDate()
    {
        return date;
    }

    /**
     * Setter for property date.
     * 
     * @param date
     *            the date to set
     */
    public void setDate(Date date)
    {
        this.date = date;
    }

    /**
     * Getter for property paymentPurpose.
     * 
     * @return the paymentPurpose
     */
    public String getPaymentPurpose()
    {
        return paymentPurpose;
    }

    /**
     * Setter for property paymentPurpose.
     * 
     * @param paymentPurpose
     *            the paymentPurpose to set
     */
    public void setPaymentPurpose(String paymentPurpose)
    {
        this.paymentPurpose = paymentPurpose;
    }
}
